<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class Cat extends Model
{
    //指定对应的表
    protected $table = 'cats';
    protected $primaryKey='cat_id';

    //指定可以填充的字段

		protected $fillable = [
        'cat_id', 'cat_name','parent_id',
    ];


    //表明模型是否应该被打上时间戳
    public $timestamps = false;

    /**找子栏目
     * @param $data
     * @param int $id
     * @return array
     */
    public function findSon($data,$id=0)
    {

        $sons=[];
        foreach($data as $v){
            if($v->parent_id==$id){
                $sons[]=$v;
            }
        }
        return $sons;
    }

    /**
     * 找子孙栏目
     * 获取数据库数据信息树
     * @param $data  栏目数据源
     * @param int $id
     * @param int $lev
     * @return array
     */
    public function findGson($data,$id=0,$lev=0)
    {
        static $cat=[];
        foreach($data as $k=>$v){
            if($v->parent_id == $id){
                $v->lev=$lev;
                $cat[] = $v;
                $this->findGson($data,$v->cat_id,$lev+1);
            }
        }
        return $cat;

    }


    /**
     * 格式化取出所有栏目 封装的
     * @return array
     */
    public function findAll()
    {
        $data = self::all();
        /*dd($data);*/
        //拿到子孙栏目数据
        return  $this->findGson($data,0,0);
    }

}
